热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

次方|尺寸_利用XcodeGPU调试工具找到渲染代码的BUG

篇首语:本文由编程笔记#小编为大家整理,主要介绍了利用XcodeGPU调试工具找到渲染代码的BUG相关的知识,希望对你有一定的参考价值。这两天在做Lives2D移植

篇首语:本文由编程笔记#小编为大家整理,主要介绍了利用Xcode GPU调试工具 找到渲染代码的BUG相关的知识,希望对你有一定的参考价值。


这两天在做Lives2D 移植到ios的工作,终于在23点完成了,这其中也碰到一些问题,记录一下。

首先是图片显示不出来,显示为全黑。转自http://blog.csdn.net/huutu http://www.liveslives.com


既然有显示全黑,而且坐标和尺寸都对,那顶点 数据应该是OK的。

那就有以下2个地方可能出错。

1:纹理采样出错

2:GL设置出错


1:纹理采样出错

因为FreeImage刚刚移植到IOS上来,所以可能这里会出错,于是挑选了一张小图来加载,把颜色数据读取出来后和Win上面进行对比,发现一模一样。


2:GL设置出错

GL设置因平台不同而需要做些调整,但是靠猜的话,就很难找问题了。

之前在android平台出现问题,借助MGD来进行GPU调用分析,迅速找到了问题,

MGD 调试 Lives2d 文字破碎问题 (MX2)

那么在IOS平台,XCode也提供了GPU分析工具。

转自http://blog.csdn.net/huutu http://www.liveslives.com

首先运行游戏,然后切换到性能这一栏



双击FPS,打开性能分析界面



点击 Analyze 按钮转自http://blog.csdn.net/huutu http://www.liveslives.com



GPU分析窗口显示了每一个GL函数调用,从上往下看,右下窗口红色感叹号代表这里有错误。

这里已经提示 ,我渲染的图片不是2的次方,所以要设置拉伸。

把图片改成2的次方大小再测试


测试OK。

在Win和Android平台上我是没有进行这个设置的,现在加上。

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);




转自
http://blog.csdn.net/huutu http://www.liveslives.com


再次测试正常



Lives2D 目前版本的IOS移植工作已经完成了,项目托管在Github

https://github.com/ThisisGame/Lives2D/tree/V5_SwitchToLua_Windows

后续把文档补全,就会推到Trunk。

转自http://blog.csdn.net/huutu http://www.liveslives.com


推荐阅读
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 四、作为您的 VCS 的 GitHub ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • iOS 设备唯一标识获取的高效解决方案与实践
    在iOS 7中,苹果公司再次禁止了对MAC地址的访问,使得开发者无法直接获取设备的物理地址。为了在开发过程中实现设备的唯一标识,苹果推荐使用Keychain服务来存储和管理唯一的标识符。此外,还可以结合其他技术手段,如UUID和广告标识符(IDFA),以确保设备的唯一性和安全性。这些方法不仅能够满足应用的需求,还能保护用户的隐私。 ... [详细]
  • 本文章提供了适用于 Cacti 的多核 CPU 监控模板,支持 2、4、8、12、16、24 和 32 核配置。请注意,0.87g 版本的 Cacti 需要手动修改哈希值为 0021 才能使用,而 0.88 及以上版本则可直接导入。 ... [详细]
  • 本文介绍了一种使用CSS3和jQuery实现的35款SVG图标加载动画。这些动画不仅视觉效果出色,还能提升用户体验。通过本文,您可以了解如何在项目中应用这些动画。 ... [详细]
  • 本文介绍了如何在 Qt 应用程序中实现状态栏、浮动窗口(铆接部件)和中心部件。通过简单的代码示例,详细解释了每个组件的创建和设置方法。 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • 本文通过基准测试(Benchmark)对.NET Core环境下Thrift和HTTP客户端的微服务通信性能进行对比分析。基准测试是一种评估系统或组件性能的方法,通过运行一系列标准化的测试来衡量其表现。 ... [详细]
  • 第七卷《英才》强调,即使有良药,若不对症,效果也不如低等药物;即使有贤才,若不适用,效果也不如普通人。文中通过多个比喻,阐述了人才使用的重要性,指出合适的人才在适当的时间和场合才能发挥最大效用。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
author-avatar
多米音乐_35782132
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有